This invention relates generally to the control of manufacturing equipment and processes, and more specifically to the use of a digital computer and associated software which creates a graphical, icon-driven user interface for creating, editing, saving, compiling, recalling, downloading, executing, monitoring and controlling manufacturing equipment and processes.
Manufacturing processes, by definition, consist of a series of sequential or concurrent steps, each step involving one or more actions to be taken by a machine or machines. The steps may occur at specific times and in a specified sequence according to specific parameters, or may occur in response to specific events. Each step may have one or more elements, each element describing activities or operations with greater specificity.
A manufacturing process can be represented as a tabular construct, known as a ladder diagram, which displays each of the steps with its associated elements and parameters. Until very recently, the construction of ladder diagrams was the way most processes were designed and specified.
Manufacturing equipment is commonly controlled directly by interfacing with a programmable logic controller, or "PLC". The PLC actuates output modules of the manufacturing equipment in response to physical stimuli which the PLC is programmed by the operator of the system to recognize. PLC's are usually programmed using either ladder logic or sequential function charts. Because of the inherent complexity of ladder logic, programming of PLCs has traditionally been difficult, time consuming and error-prone.
Ladder language programs are particularly difficult to adapt or change once completed and compiled for execution. In other words, once a process is defined, the PLC thereafter controls the machinery strictly, according to the program, and the system does not easily lend itself to adjustment or adaptation in response to changed or unexpected conditions.
Manufacturers have long sought to take advantage of the greater flexibility of general-purpose computers, including inexpensive commercially available personal computers (PCs), to enhance the efficiency of establishing and maintaining control of manufacturing processes. General-purpose computers can be programmed in high level commercially available programming languages such as BASIC, FORTRAN or, more recently, C, or in object-oriented languages such as C++. The power of the higher-level languages themselves allows the creation of more complex application programs.
Ideally, process control applications should be able to handle the most critical requirements of process control, which include:
a. Creating and maintaining machine-readable instructions to control a process (process editing);
b. Compiling or creating an executable program from the instructions written by the process editor (compiling the process instructions);
c. Executing the instructions to actually control the machinery, and monitoring and reporting on the process; and
d. Communicating data and information concerning the process to other business systems.
Software written for general purpose computers has addressed each of these aspects of the process control problem, but with varying degrees of success. Prior art programs allow the creation of a process control protocol through process editing, and most allow the compilation of such batch control instructions into an execution module. Most such programs also allow an operator to monitor the progress of an ongoing process in real-time by displaying information about the process, either in tabular or graphical form, on an output terminal device such as a printer or video display terminal (VDT) screen. Many programs also facilitate the passing of process data to and from other business systems. However, these existing programs are unable to perform the kind of quick and easy icon based process editing achieved by the present invention.
For process editing, much existing software uses ladder logic, or an advanced version of it, to reproduce on the screen the tabular construction of the process. In order to create a control program for a new process, or to modify the program for a previously created process, an operator typically must enter input parameters, instructions or information into the process editor by typing information into a tabular arrangement of numbers on the screen, similar to filling out a form. Accuracy in doing so is obviously critical to the success of the manufacturing process. However, screens organized in such a way are difficult for operators to work with, and errors are common. The inherent complexity of ladder logic itself remains a further source of batch creation errors.
The prior art also includes techniques for the manipulation of graphical representations ("icons") by the use of a mouse or other pointing device. This feature is common in general-purpose operating shell programs as Windows, UNIX and OS/2, and their associated application programs. (Windows is a trademark of Microsoft Corporation; UNIX is a trademark of Novell, Inc.; and OS/2 is a trademark of International Business Machine Corporation.)
The system of screens which the program presents to the operator, and with which the operator interacts, is referred to as the "user interface". Programs which provide a graphical user interface are said to provide the operator with a "graphical environment", or "graphical working environment". This graphical environment has now become the standard for many commercial programs, and for the current generation of computer programmers and users.
In most graphical interfaces, each screen icon represents a discrete series of individual instructions, functions, actions or values. Manipulation of the icon by the operator in some way, by "clicking" on it with a mouse for example, allows the operator to perform an operation on the whole series represented by that icon. In most graphical environments the icon may be moved ("dragged") from one screen area to another if the mouse key is depressed and held on the icon while the mouse is moved around the screen. As a result, the entire series represented by the icon can be inserted into another screen area, and thereby into another point in the program. Similarly, in many windowing environments, when the operator clicks the mouse twice on a program icon the computer executes all of the instructions the icon represents.
Despite the existence of these prior art techniques, only limited use of graphical representations has been made by existing process control software. Significantly, no commercially available process control program yet offers the process operator a series of graphical representations, or icons, of process steps and elements which the operator can manipulate on-screen in order to create or modify a process in the process editing phase. Thus a need exists for process control software which presents a graphical environment to an operator in the process editing phase. Such an interface would reduce training requirements, improve clarity and reduce operations errors during execution.
An early attempt to provide such a process editor is disclosed in Slater U.S. Pat. No. 4,443,861. This patent discloses a process editor which compiles instruction sets and parameters into functional program blocks. The operator enters instruction sets or variables into the editor by keying in a control function and providing appropriate device tags or identifiers. Changes to existing programs are accomplished by recalling the program code by line number and then keying in the change. Once all instruction sets and values are entered, the process program is compiled and executed. Cumbersome though such a procedure may be, it did foreshadow more advanced applications which were to follow.
A more advanced application is shown in the Continuous Flow Chart, Data Format and Debugging System of Lavallee, U.S. Pat. No. 4,852,047. The process editing aspect of this program provides the operator the ability to document a process by entering numerical or textual parameters to the program, which then produces and displays a continuous multiple block flow chart of the end process and provides an enhanced debugging feature. The primary data entry device for the operator or programmer is the keyboard. However, only a few limited, primitive flowchart symbols are displayed, in either the editing or monitoring phase, with some flowchart symbols representing groups of other symbols. Still, the ability to utilize even primitive and basic flowchart symbolism was an improvement over the software which had preceded this patent.
The Industrial Control System of Vaughn U.S. Pat. No. 4,908,746 incorporates modular "open bus" software which is also utilized by the present invention. This patent discloses process configuration tables reproduced on the computer screen. The system programmer programs the operation of the task by typing information into the a tabular screen arrangement similar to filling in a form. This software is larger in scope than that disclosed in the LaVallee '047 patent in that it includes modules by which the operator can create animated symbolic representations (not icons) which can be used in monitoring the ongoing process. The emphasis of the invention is the use of a central database to pass parameter values between modules. One commercial advertisement for this software discloses that it uses an animation editor by which the operator can create a moving pictorial representation of the process.
The Process Control System with Reconfigurable Expert Rules and Control Modules of Skeirik U.S. Pat. No. 5,006,992 incorporates multiple levels of programs directed by (or "running beneath") a supervisor program. One of the associated program levels of this patent provides a database, and at another level is a process editor. The twin objectives of the '992 patent are its use of artificially intelligent "expert" procedures for both the creating and debugging processes. However, according to this prior art patent, the creation of a process requires the operator to enter information in numerical or text format directly into a tabular construct on a screen, similar to the earlier software described above.
Other typical commercially available software includes the program sold under the name Dataplus (a trademark of Glatt Air Techniques, Inc.). This software product also has a batch creation feature, but it also suffers from the need to enter data into on-screen tabular constructions.
Thus, although earlier process control software has made use of graphical displays, the primary use of graphics has been in the process monitoring function. Use of a graphical working environment in the process editing stage has been limited or nonexistent. An editor in which groups of icons, representing preprogrammed functions and values, can be manipulated and arranged on-screen by an operator using a pointing device, is not disclosed or suggested. Such an editor would limit the potential for error in the process creation and maintenance phase. Also, in such an environment, processes could be assembled by operators who are not programming experts. In addition, such a process control system would reduce the requirement for later extensive debugging and would facilitate the maintenance of process programs.